专利摘要:
接続インターフェースSCのうちの1つSC3が、選択された処理に関連付けられるそれぞれの接続インターフェースによって受信されたデータのストリームを受信できるように指定される。このように指定された前記接続インターフェースSC3は、選択された処理に関与する接続インターフェースのセットによって受信されたデータのストリームを含むバッファメモリを載せる補助的な受信リストRXSをさらに備える。それぞれの接続インターフェースSC1、SC2、SC3のバッファメモリSKBは2つの受信リストRX、RXSに同時に属し、それぞれのバッファメモリが補助的な受信リストRXS内の現在のバッファメモリに先行するバッファメモリを示す補助的な先行ポインタと、補助的な受信リストRXS内の現在のバッファメモリに続くバッファメモリを示す補助的な後続ポインタとをさらに備え、それによって前記処理に関与する接続インターフェースのセットによって受信されたデータのストリームに、受信されたデータの前記ストリームの到着順序でアクセスできるようにする。
公开号:JP2011509004A
申请号:JP2010538856
申请日:2008-12-11
公开日:2011-03-17
发明作者:フロマン,トマ;ラザール,マリウス
申请人:アルカテル−ルーセント;
IPC主号:H04L13-08
专利说明:

[0001] 本発明は通信ネットワーク内の複数のソケット間の通信に関する。]
[0002] 本発明は、TCP(「伝送制御プロトコル」)などのプロトコル、またはそれらの同等物を使用して作動するインターネット通信ネットワークを介して複数のソースからメッセージまたはデータを受信する、どのような処理にも適用できる。]
背景技術

[0003] 一般にソケットは、受信データストリームを含むバッファメモリを列記する受信リストと、送信されるべきデータストリームを含むバッファメモリを列記する送信リストとを備える。]
[0004] 受信リストおよび送信リストは、それらを構成するバッファメモリが、それぞれ対応するリスト内の現在のバッファメモリに先行するバッファメモリを示す「前の」ポインタと、対応するリスト内の現在のバッファメモリに続くバッファメモリを示す第2の「次の」ポインタとを含む構造を保有する点で、「二重にリンクしている」と考えられる。]
[0005] ソケットが1つしかない場合、処理はメッセージまたはデータが前記ソケットの受信リストに到着するのを待つ間にそれらを受信できる。]
[0006] 複数のソケットがある場合、読まれる予定の受信メッセージを有するソケットを見つけるために、まず受信リストの循環分析を実行する必要がある。]
[0007] この分析を実装するために、複数の知られている解決策、特に「select」、「poll」、「kqueue」、および「epoll」として知られている解決策が提案された。]
発明が解決しようとする課題

[0008] これらの知られている解決策は比較的十分なものではあるが、メッセージが到着する順序を考慮せず、またさらなるタスクを含む。]
[0009] その結果、ネットワーク性能が著しく劣化し、この劣化が大きくなるにつれて、それだけ読まれる必要のあるソケットが多くなり、たとえば1000ソケット以上になる。]
[0010] 本発明はこの欠点を緩和する。]
課題を解決するための手段

[0011] 本発明は通信ネットワーク内の複数のソケット間で通信するための通信装置に関し、それぞれのソケットは受信データストリームを含むバッファメモリを列記する受信リストを備え、前記バッファメモリはそれぞれ対応する受信リスト内の現在のバッファメモリに先行するバッファメモリを示す「前の」ポインタと、対応する受信リスト内の現在のバッファメモリに続くバッファメモリを示す第2の「次の」ポインタとを備える構造を有する。]
[0012] 本発明の一般的な一定義によれば、ソケットのうちの1つは、選択された処理に関連付けられるそれぞれのソケットによって受信されたデータストリームを受信できるように指定され、そのようにして指定された前記ソケットは、選択された処理に関与する全てのソケットによって受信されたデータストリームを含むバッファメモリを列記するさらなる受信リストをさらに備え、それぞれのソケットのバッファメモリは両方の受信リストに同時に属し、それぞれのバッファメモリはさらなる受信リスト内の現在のバッファメモリに先行するバッファメモリを示すさらなる「前の」ポインタと、さらなる受信リスト内の現在のバッファメモリに続くバッファメモリを示すさらなる「次の」ポインタとをさらに備える。]
[0013] このようにして、本発明の装置は、それによって指定されたソケットが、前記処理に関与する全てのソケットによって受信されたデータストリームにアクセスできるように、および前記受信データストリームが到着した順序でアクセスできるようにする。]
[0014] その結果、従来の構造よりも優れたネットワーク性能がもたらされる。]
[0015] 本発明の他の目的は、本発明の装置によって実装された通信方法である。]
[0016] 本発明の他の特徴および諸利点は、以下の詳細な説明および図面によって明らかになるであろう。]
図面の簡単な説明

[0017] 本発明による指定されたソケットを備えた通信装置を概略的に示す図である。
本発明によるバッファメモリ構造を概略的に示す図である。]
実施例

[0018] 図1に、TCP/IPメッセージング処理が示されている。] 図1
[0019] このような処理は、TCPプロトコルを使用して作動する通信ネットワークを介して複数のソースからメッセージを受信する。]
[0020] ソケットSCはそれぞれのソースに関連付けられ、それぞれSC1、SC2、およびSC3と表される。]
[0021] それぞれのソケットSCは、受信データストリームを含むバッファメモリSKBを列記する受信リストRXを備える。]
[0022] それぞれのソケットは、送信されるべきデータストリームを含むバッファメモリを列記する送信リスト(図示せず)をさらに備える。]
[0023] 図2では、受信リストRXの構造は、それぞれのバッファメモリSKBが、対応するリスト内の現在のバッファメモリに先行するバッファメモリSKBを示す「前の」ポインタPPと、対応するリスト内の現在のバッファメモリに続くバッファメモリを示す第2の「次の」ポインタとを備えるような構造である。] 図2
[0024] バッファメモリは、選択されたソケットのために相互にリンクされている。]
[0025] それぞれのバッファメモリSKBは、データパケットが送信される、またはそこからデータパケットが受信される装置NDの構造を識別する。]
[0026] バッファメモリSKBはそれぞれのパケットに関連付けられる。パケットのヘッダはポインタのセットTH、IPH、およびMACによって正確に位置付けられる。]
[0027] バッファメモリは所与のソケットのためにリンクされており、プロトコルヘッダへのリンク、およびパケットに関連付けられる装置などの情報を含む。]
[0028] 再び図1を参照する。] 図1
[0029] ソケットSC3は、メッセージング処理などの選択された処理に関連付けられるそれぞれのソケットSC1、SC2、およびSC3から受信されたデータストリームをさらに受信するように指定される。]
[0030] ソケットSC3は、前記処理に関与するソケットのセットによって受信されたデータストリームを含むバッファメモリSKBを列記するさらなる受信リストRXSを備える。]
[0031] 再び図2を参照する。] 図2
[0032] それぞれのソケットSC1、SC2、SC3のバッファメモリSKBは、両方の受信リストRXとRXSに同時に属する。]
[0033] バッファメモリSKBは、それぞれさらなる受信リストRXS内の現在のバッファメモリに先行するバッファメモリを示すさらなる「前の」ポインタPPSと、さらなる受信リストRXS内の現在のバッファメモリに続くバッファメモリを示すさらなる「次の」ポインタPPSとをさらに備える。]
[0034] それによって指定されたソケットSC3内で、前記処理に関与するソケットのセットによって受信されたデータストリームに、前記受信データストリームが到着した順序でアクセスできる。]
[0035] これは、さらなる受信リストRXSが、このデータが様々なソケットに到着した順序で受信データストリームを位置付けることができるようにするポインタ情報を含むからである。]
[0036] たとえば、図1では、受信データストリームは以下の順序で到着する:
Skb3.1
Skb2.1
Skb1.1
Skb3.2
Skb1.2
Skb1.3
さらなる受信リストRXSを使用してこの順序でデータストリームにアクセスできるのに対して、さらなる受信リストがない場合、アクセスはソケットのランクに基づき、すなわちまずソケットSC1、次いでソケットSC2、そしてSC3となる。このような場合、データストリームが処理される順序は以下のようになる:
Skb1.1
Skb1.2
Skb1.3
Skb2.1
Skb3.1
Skb3.2] 図1
权利要求:

請求項1
通信ネットワーク内の複数のソケット(SC1、SC2、SC3)間で通信するための通信装置であって、それぞれのソケット(SC1、SC2、SC3)が受信データストリームを含むバッファメモリ(SKB)を列記する受信リスト(RX)を備え、前記受信リスト(RX)が、それぞれのバッファメモリ(SKB)が対応する受信リスト内の現在のバッファメモリに先行するバッファメモリを示す「前の」ポインタ(PP)と、対応する受信リスト内の現在のバッファメモリに続くバッファメモリを示す第2の「次の」ポインタとを備える構造を有する、通信装置において、ソケット(SC)のうちの1つ(SC3)が、選択された処理に関連付けられるそれぞれのソケットによって受信されたデータストリームを受信できるように指定され、そのようにして指定された前記ソケット(SC3)が、選択された処理に関与する全てのソケットによって受信されたデータストリームを含むバッファメモリを列記するさらなる受信リスト(RXS)をさらに備え、それぞれのソケット(SC1、SC2、SC3)のバッファメモリ(SKB)が両方の受信リスト(RX、RXS)に同時に属し、それぞれのバッファメモリがさらなる受信リスト(RXS)内の現在のバッファメモリに先行するバッファメモリを示すさらなる「前の」ポインタ(PPS)と、さらなる受信リスト(RXS)内の現在のバッファメモリに続くバッファメモリを示すさらなる「次の」ポインタ(PSS)とをさらに備え、前記処理に関与するソケットのセットによって受信されたデータストリームに前記受信データストリームが到着した順序でアクセスできるようにすることを特徴とする、通信装置。
請求項2
通信ネットワーク内の複数のソケット(SC1、SC2、SC3)間で通信するための通信方法であって、それぞれのソケット(SC1、SC2、SC3)が受信データストリームを含むバッファメモリ(SKB)を列記する受信リスト(RX)を備え、前記受信リスト(RX)が、それぞれのバッファメモリ(SKB)が対応する受信リスト内の現在のバッファメモリに先行するバッファメモリを示す「前の」ポインタ(PP)と、対応する受信リスト内の現在のバッファメモリに続くバッファメモリを示す第2の「次の」ポインタとを備える構造を有する、通信方法において、ソケット(SC)のうちの1つ(SC3)が、選択された処理に関連付けられるそれぞれのソケットによって受信されたデータストリームを受信できるように指定され、そのようにして指定された前記ソケット(SC3)が、選択された処理に関与する全てのソケットによって受信されたデータストリームを含むバッファメモリを列記するさらなる受信リスト(RXS)をさらに備え、それぞれのソケット(SC1、SC2、SC3)のバッファメモリ(SKB)が両方の受信リスト(RX、RXS)に同時に属し、それぞれのバッファメモリがさらなる受信リスト(RXS)内の現在のバッファメモリに先行するバッファメモリを示すさらなる「前の」ポインタ(PPS)と、さらなる受信リスト(RXS)内の現在のバッファメモリに続くバッファメモリを示すさらなる「次の」ポインタ(PSS)とをさらに備え、前記処理に関与するソケットのセットによって受信されたデータストリームに前記受信データストリームが到着した順序でアクセスできるようにすることを特徴とする、通信方法。
类似技术:
公开号 | 公开日 | 专利标题
US9350667B2|2016-05-24|Dynamically assigning packet flows
CN102970227B|2016-03-02|在asic中实现vxlan报文转发的方法和装置
US9172647B2|2015-10-27|Distributed network test system
USRE38641E1|2004-10-26|Isochronous channel having a linked list of buffers
US6895590B2|2005-05-17|Method and system enabling both legacy and new applications to access an InfiniBand fabric via a socket API
US7263103B2|2007-08-28|Receive queue descriptor pool
JP3315728B2|2002-08-19|メッセージ経路指定装置
US7969976B2|2011-06-28|Gateway apparatus, packet forwarding method, and program
EP3080957B1|2019-02-20|Establishing a data transfer connection
CN100350797C|2007-11-21|多点传播信息传送系统和多点传播信息传送方法
US5781534A|1998-07-14|Method and apparatus for determining characteristics of a path
US7236501B1|2007-06-26|Systems and methods for handling packet fragmentation
US5655140A|1997-08-05|Apparatus for translating frames of data transferred between heterogeneous local area networks
US6967951B2|2005-11-22|System for reordering sequenced based packets in a switching network
EP0889624B1|2003-04-02|Trunking ethernet-compatible networks
CA2283999C|2005-01-11|Packet processing apparatus, packet processing method, and packet exchange
EP0664906B1|2002-01-02|Network station with multiple network addresses
EP1832085B1|2011-09-07|Flow assignment
US7620071B2|2009-11-17|Packet coalescing
JP4033773B2|2008-01-16|ネットワークルーティングを実行する方法および装置
US9450780B2|2016-09-20|Packet processing approach to improve performance and energy efficiency for software routers
EP1234428B1|2006-08-23|Method and apparatus for packet delay reduction using scheduling and header compression
US7617291B2|2009-11-10|System and method for supporting TCP out-of-order receive data using generic buffer
US7562158B2|2009-07-14|Message context based TCP transmission
US6484224B1|2002-11-19|Multi-interface symmetric multiprocessor
同族专利:
公开号 | 公开日
WO2009080997A1|2009-07-02|
AT534082T|2011-12-15|
FR2925190A1|2009-06-19|
CN101488910B|2012-05-23|
FR2925190B1|2009-11-20|
KR20100097705A|2010-09-03|
US7852858B2|2010-12-14|
CN101488910A|2009-07-22|
US20090310611A1|2009-12-17|
EP2073127A1|2009-06-24|
KR101428138B1|2014-08-07|
JP4938134B2|2012-05-23|
EP2073127B1|2011-11-16|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2011-08-03| A621| Written request for application examination|Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110802 |
2012-01-12| A977| Report on retrieval|Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120112 |
2012-01-20| TRDD| Decision of grant or rejection written|
2012-01-25| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120124 |
2012-01-26| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 |
2012-03-01| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120222 |
2012-03-02| R150| Certificate of patent or registration of utility model|Free format text: JAPANESE INTERMEDIATE CODE: R150 |
2012-03-02| FPAY| Renewal fee payment (event date is renewal date of database)|Free format text: PAYMENT UNTIL: 20150302 Year of fee payment: 3 |
2015-03-03| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2016-03-01| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2017-02-28| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2018-03-02| LAPS| Cancellation because of no payment of annual fees|
优先权:
申请号 | 申请日 | 专利标题
[返回顶部]